3
תגובות

קבועים שמכילים פטרנים

פתח hadash ,
חשבתי לעצמי במקום כל פעם לעשות משתנה PATTERN או לכתוב אותו בפונקציה, פשוט ליצור דף עם קבועים עם פטרנים נפוצים ואז להשתמש בהם כל פעם נגיד
PATTERN_NUMSONLY
וכאלה
מצד אחד זה בזבוז זמן+בזבוז משאבים(כי זה יטען הדף הזה למרות שזה לא יהיה כל כך משמעותי לדעתי)
אבל מהצד השני זה נותן קוד קריא יותרת,מקצר אותו קצת, עושה אותו טיפה יותר יפה וגם אחד שלא כל כך מבין בביטויים רגולריים יוכל להשתמש בזה(הוא פשוט ישתמש עם הקבועים).

אז מה דעתכם ?

3 תשובות

avatar ענה Splash ב 28 לנובמבר 2014 #

למען האמת חשבו על זה כבר,אתה יכול לקרוא באתר הרשמי על - filter

כמובן שאם יש לך תבניות ספציפיות אז תוכל לעשות להם תנאים מיוחדים,שים לב רק שביטויים רגולארים הם איטיים מאוד ביחס לפונקציות מחרוזת רגילות ולכן אני ממליץ לך לחשוב פעמיים לפני שאתה סתם כותב ביטוי שניתן לממש אחרת.

avatar ענה hadash ב 28 לנובמבר 2014 #

בדיקה של מספר האם הוא תקין בתור מספר פלאפון זו סיבה מספיק טובה?
בהתחלה השתמשתי בperg_replace כדי להסיר את ה"-" אם יש, ואז בדקתי אם המחרוזת מורכבת מעד 9 ספרות וספרות בלבד. המטרה היא מספר פלאפון בין לאומי, גם מארהב וגם מאינדונזיה. אני משתמש ברשימה של קידומות ואז המשתמש כותב את ההמשך.
זה תקין הקוד שכתבתי ?

avatar ענה Splash ב 28 לנובמבר 2014 #

כמו שאמרתי - אם לא צריך להשתמש בביטוי רגולארי אל תשתמש,גם אם הקוד נראה ארוך יותר לא בהכרח אומר שהוא פחות יעיל.

לגבי האם הוא תקין זה כבר עניין שלך יש אנשים שרושמים את המספר שלהם בפורמט טיפה שונה [עם 0 בהתחלה,רווחים,קוד מדינה וכו'] ואתה צריך לטפל במקרים האלה גם כן.

אם אתה מעוניין יש ספריה בשם libphonenumber שיודעת לטפל במספרים בין לאומיים,המקור כתוב ב js/java אבל מימשו את הרעיון גם ב php - ibphonenumber for PHP אני לא יכול להבטיח לך איכות כי מעולם לא יחסתי יותר מידי משמעות למספר טלפון אבל אני משער שהמידע שיש בידי הספריה יהיה ברמה יותר גבוה מהפילטרים שעשית